Hypothesis-Based Approach To Detecting Runtime Violations In Java Program Using Automated Theorem Prover
نویسندگان
چکیده
We develop an approach to apply formal methods to represent the program source codes as a model, after that, using automated theorem prover to try to detect runtime violations in those codes by doing static analysis. Unlike other proof based program verification approaches, this approach is based on hypothesis to develop the formal specification information implied by source codes, such as invariants, preconditions, postconditions and other runtime assertions, then using automated theorem prover to verify the correctness of each statement in the program. Our research work is an extension to compilers, can catch those runtime exceptions which are out of bound of the capability of compiler’s control-flow based analysis.
منابع مشابه
A Hypothesis-Based Approach to Detecting Runtime Violations
We have developed an approach to apply formal methods to represent program source code as a model and use an automated theorem prover to detect runtime violations by doing static analysis. Unlike other proof-based program verification approaches, this approach is based on a hypothesis to develop the implicit specification information, such as invariants, preconditions, postconditions, then usin...
متن کاملStatic and Dynamic Contract Verifiers For Java
Design By Contract (DBC) is a systematic approach to specifying and implementing object-oriented software systems. DBC has been proved to greatly benefit software development. However, Java does not natively support DBC. We have developed a comprehensive solution to bring DBC into Java. The static and dynamic contract verifier is the most crucial part of the solution. We have developed a toolse...
متن کاملA Low-Footprint Java-to-Native Compilation Scheme Using Formal Methods
Ahead-of-Time and Just-in-Time compilation are common ways to improve runtime performances of restrained systems like Java Card by turning critical Java methods into native code. However, native code is much bigger than Java bytecode, which severely limits or even forbids these practices for devices with memory constraints. In this paper, we describe and evaluate a method for reducing nativelyc...
متن کاملApplying Static Analysis for Detecting Null Pointers in Java Programs
The detection of bugs in software has been a difficult and time-consuming manual task. Some bugs are hard to find as they manifest themselves far from the actual errors such as dereferencing null-pointer. To avoid these bugs, a useful static program analysis tool would inspect a program for presence of such errors. The goal of static analysis is to detect common run-time errors that are not det...
متن کاملAnalysing the Java package/access concepts in Isabelle/HOL
Java access modifiers and packages provide a mechanism to restrict access to members and types, as an additional means of information hiding beyond the purely objectoriented concept of classes. In this paper we clarify the semantics of access modifiers and packages by adding them to our formal model of Java in the theorem prover Isabelle/HOL. We analyse which properties we can rely on at runtim...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003